package a2025_02_09;

import java.util.ArrayList;
import java.util.List;

public class merge_intervals {
    public static void main(String[] args) {
        int[][] intervals=new int[][]{{2,3},{4,5},{6,7},{8,9},{1,10}};

        List<int[]> ret=new ArrayList<>();
        for(int i=0;i<intervals.length-1;i++){
            for(int j=0;j<intervals.length-i-1;j++){
                if(intervals[j][0]>intervals[j+1][0]){
                    int[] temp=new int[2];
                    temp[0]=intervals[j][0];
                    temp[1]=intervals[j][1];

                    intervals[j][0]=intervals[j+1][0];
                    intervals[j][1]=intervals[j+1][1];

                    intervals[j+1][0]=temp[0];
                    intervals[j+1][1]=temp[1];
                }
            }
        }

        int cur=0;
        while(cur<intervals.length){
            int i=cur;
            int L=intervals[cur][0];
            int R=intervals[cur][1];
            while(true){
                //如果当前组和下一组有重合，就继续向后移动
                if(i<intervals.length&&i+1<intervals.length&&intervals[i][1]>=intervals[i+1][0]){
                    if(intervals[i+1][1]>R){
                        R=intervals[i+1][1];
                    }
                    i++;
                }else{
                    //进入这里，表示当前组和下一组没有重合，或者已经达到末尾了
                    break;
                }
            }
            //i组的位置表示表示当前组和下一组没有重合，或者已经达到末尾了
            ret.add(new int[]{L,R});
            cur=i+1;
        }

    }
}
